МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Інститут комп’ютерних наук та інформаційних технологій
Кафедра програмного забезпечення
ЗВІТ
До лабораторної роботи № 1
На тему: “ ЗАСОБИ СТВОРЕННЯ C#-ПРОГРАМ ”
З дисципліни : "Програмне забезпечення мережевих технологій "
Лектор:
Проф. каф. ПЗ
Мельник Р.А.
Львів – 2009
Тема: ЗАСОБИ СТВОРЕННЯ C#-ПРОГРАМ
Мета: навчитись користуватись середовищами розробки програм мовою C#, а також засвоїти склад пакетів бібліотеки різних інструментальних засобів
Завдання
Оцінити можливості кожного з середовищ.
Виконати порівняльний аналіз відомих засобів.
Теоретичні відомості
Java — об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java. Синтаксис мови багато в чому походить від C та C++. У офіційній реалізації, Java програми компілюються у байткод, який при виконанні інтерпретується віртуальною машиною для конкретної платформи.
Мета створення С#.
1. Перша компонентно-орієнтовна мова в сімействі С/С++ - розвинена система діагностики та підвищений рівень безпеки;
2. Створити альтернативу Java - зменшити відрив між простими типами та класами; - можливість створювати структурні типи, об'єктам яких не потрібно виділяти пам'ять у кучі;
3. Збільшити надійність програм та їх стійкість до помилок - автоматична сборка сміття
Спільне у C#, С++ та Java.
C#, C++ та Java є мовами об’єктно-орієнтованого програмування.
Відмінне у C#, С++ та Java.
С++ підтримує процедурну парадигму, в той час як у C# та Java немає глобальних функцій чи констант, все належить класам.
Особливості реалізації
Відмінне у C#, С++ та Java.
Спільне C# та Java:
немає файлів заголовків, весь код вкладений в пакети чи сборки, не виникає проблем з циклічними залежностями при об'явленні одного класу перед іншим.
немає глобальних функцій чи констант, все належить класам.
Автоматичне керування пам'яттю.
Спільне у C# та Java:
автоматична збірка сміття разом із знищенням вказівників.
Арифметичні типи даних: операції, вирази, зведення типів у виразах.
Більшість мов має базові типи (int, long), і вищий рівень типів, що в кінці-кінців складається з базових типів. Часто буває корисним мати можливість розглядати базові типи і вищий рівень типів однаковим чином. Наприклад, корисно мати колекції, які можуть бути як цілими, так і рядками. Smalltalk досяг цього пожертвуванням деякої ефективності та розгляданням цілих та довгих як типів типу String чи Form. Java намагається уникнути зменшення ефективності, і розглядає базові (примітивні) типи, як в C чи C++, але забезпечує подібні з виду класи для кожного примітивного - цілий упаковується Integer, double упаковується Double. Шаблони у C++ дозволяють писати код, що використовує будь-який тип, наскільки це дозволяють операції, що можна виконувати над типом.
Відмінне у C#, С++ та Java
Спільне у C# та Java:
Всі класи породжуються від object та повинні розташовуватись в кучі з новим ідентифікатором
Бульовий тип - окремий тип, що не перетинається з арифметичним (як в С++). Це може породжувати деякі незручності при використанні, але сприяє виявленню помилок.
Перевага С# - 12-байтні "десяткові" числа з плаваючою точкою
Область видимості і права доступу.
У C# можна помістити компоненти вихідного коду (класи, структури, делегати і т. ін.) у файли, простори імен та сборки.
Мова значно запозичила синтаксис із C і C++. Зокрема, взято за основу об'єктну модель С++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в С/C++ повинні здійснювати програмісти покладено на віртуальну машину. Java, передусім, розроблялась як платформо-незалежна мова, тому, вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. В разі необхідності таких дій, java дозволяє викликати підпрограми написані на інших мовах п...